Garbage Collection Hints
نویسندگان
چکیده
This paper shows that Appel-style garbage collectors often make suboptimal decisions both in terms of when and how to collect. We argue that garbage collection should be done when the amount of live bytes is low (in order to minimize the collection cost) and when the amount of dead objects is high (in order to maximize the available heap size after collection). In addition, we observe that Appel-style collectors sometimes trigger a nursery collection in cases where a full-heap collection would have been better. Based on these observations, we propose garbage collection hints (GCH) which is a profile-directed method for guiding garbage collection. Offline profiling is used to identify favorable collection points in the program code. In those favorable collection points, the VM dynamically chooses between nursery and full-heap collections based on an analytical garbage collector cost-benefit model. By doing so, GCH guides the collector in terms of when and how to collect. Experimental results using the SPECjvm98 benchmarks and two generational garbage collectors show that substantial reductions can be obtained in garbage collection time (up to 30X) and that the overall execution time can be reduced by more than 10%.
منابع مشابه
Providing hints for garbage collection
This paper presents a mechanism that uses off-line profile information to examine when garbage is best collected. This information is then used to guide the garbage collection frequency in order to reduce the garbage collection time and total execution time. Keywords—Java, garbage collection, scheduling
متن کاملGCH: Hints for Triggering Garbage Collections
This paper shows that Appel-style garbage collectors often make suboptimal decisions both in terms of when and how to collect. We argue that garbage collection should be done when the amount of live bytes is low (in order to minimize the collection cost) and when the amount of dead objects is high (in order to maximize the available heap size after collection). In addition, we observe that Appe...
متن کاملHinted Collection
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission....
متن کاملA Program Context-Aware Data Separation Technique for Reducing Garbage Collection Overhead in NAND Flash Memory
For NAND flash memory-based systems, garbage collection remains a major performance bottleneck. To decrease the garbage collection overhead, data separation techniques based on update frequency are widely used. However, from our observations using the oracle predictor on data update times, separating data by their update times rather than data with high update frequencies is a more important fa...
متن کاملA Highly Effective Partition Selection Policy for Object Database Garbage Collection
We investigate methods to improve the performance of algorithms for automatic storage reclamation of object databases. These algorithms are based on a technique called partitioned garbage collection, in which a subset of the entire database is collected independently of the rest. We evaluate how different application, database system, and garbage collection implementation parameters affect the ...
متن کامل